#ifndef __FIFO_H__
#define __FIFO_H__

#include <stdint.h>
void* fifo_alloc(int cnt, int datasize);
void fifo_free(void *fifo);
int fifo_put(void *fifo, uint32_t *data);
int fifo_get(void *fifo, uint32_t *data);
int fifo_clear(void *fifo);
int fifo_pre_get(void *fifo, uint32_t *data);
int fifo_pre_get_ptr(void *fifo, uint32_t idx, uint32_t **data);
int fifo_num(void *fifo);
int fifo_head(void *fifo, void **node, void **data);
int fifo_node_next(void *fifo, void **node, void **data);
#endif
